import os
import cv2
import moviepy.editor as mpy

def figtomov(figpath,movname,gifname):
        path = figpath
        # filelist = os.listdir(path,)
        
        fps = 20 #视频每秒24帧
        size = (640, 480) #需要转为视频的图片的尺寸,
        #可以使用cv2.resize()进行修改
        
        video = cv2.VideoWriter(movname+".avi", cv2.VideoWriter_fourcc('I', '4', '2', '0'), fps, size)
        #视频保存在当前目录下
        
        for item in range(1,301):
                #找到路径中所有后缀名为.png的文件，可以更换为.jpg或其它
                item = path +'epo'+ str(item)+'.png'
                img = cv2.imread(item)
                video.write(img)
        
        video.release()
        cv2.destroyAllWindows()
        #视频文件的本地路径
        content = mpy.VideoFileClip(movname+".avi")
        # 剪辑0分0秒到0分24秒的片段。resize为修改清晰度
        c1 = content.subclip().resize((640, 480))
        # 将片段保存为gif图到python的默认路径
        c1.write_gif(gifname+".gif")


figtomov(figpath='./3_4_process/', movname='mov',gifname='mov')
#视频文件的本地路径
# content = mpy.VideoFileClip("mov"+".avi")
# c1 = content.subclip((0,0),(0,24)).resize((1024, 768))
# c1.write_gif("mov2"+".gif")

